This section is intended to provide a background or context to the invention recited in the claims. The description herein may include concepts that could be pursued, but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.
An architecture for on-demand services in cable television (CATV) systems, such as video on-demand (VoD), includes a plurality of on-demand services sources, such as VoD servers which store a library of video-titles streams in a compressed digital format and stream a given title, upon request, in a single program/service transport stream (SPTS) format, optionally a plurality of encryption engines, for encryption of the streamed titles, and a plurality of edge devices, each of which packetizes sub-sets of input streams into a multi program/service transport stream (MPTS) format, modulates each MPTS through a quadrature amplitude modulation (QAM), and transmits the radio frequency (RF) modulated signal to the set top box at the client's premises.
The stream transmission path: on-demand service source to encryption-device to edge-device to QAM is allocated and controlled by the session manager (SM) which controls the entire operation of the on-demand system.
Both SPTS and MPTS contain a program association table (PAT) which contains the MPTS identity (transport_id) and the service/program identities (service_id/program_id) of the services embedded in the stream, a program map table (PMT) for each service which contains the packets identity (PID) numbers of the elementary streams video and audio of the specific service, and the services elementary streams. Both SPTS and MPTS may contain no-information packets, denoted as NULL packets, for transport stream padding considerations. The service_id numbers and the associated PID within the SPTS and MPTS are unique.
The client region is split into sub-regions, denoted as service groups, each supported by a set of edge devices and defined set of on-demand services sources such as VoD or switched broadcast systems. Both on-demand services sources and edge devices can support multiple of service groups.
The set top box tunes to the particular QAM frequency and service, based on information it receives from the SM. The set top then decodes the particular service and presents the decoded audio-visual content.
An edge device contains multiple QAM modulators, each up-converted to a different radio frequency (RF). Each set of input SPTS streams to an edge device, is packed by the edge device into a single MPTS and directed to a particular QAM at a particular RF frequency. The services within the packed MPTS are allocated unique service_id numbers.
An MPTS is generated by re-multiplexing the packets of a set of SPTS streams, embedding a PAT and associated PMTs which contain the transport_id and service_id numbers of the embedded services and the PIDs of the corresponding elementary streams. Both service_ids and PIDs are remapped into unique numbers according to external setting. The re-multiplexing process filters NULL packets in the input services, and may add ones to obtain the desired MPTS bandwidth.
QAM is a modulation scheme which conveys data by modulating the amplitude of two carrier waves. The maximal data rate is defined by the analog bandwidth and constellation of the modulator. e.g. QAM256 with 8 Mbps bandwidth, where 256 defines the QAM constellation, has a 51.29 Mbps data rate. Each QAM modulates a single MPTS and is upconverted to a given RF.
Each service group is allocated a separate set of QAMs, each modulated at a unique RF frequency. An MPTS corresponding to a given QAM which belongs to a particular service group, has a unique transport_id number, so that there is one-to-one correspondence between the couples (transport_id, service_group_id) and (QAM/RF, service_group_id).
The SM allocates and controls the transmission path from on-demand services resources to the clients. Upon request from a client which belongs to a particular service group, for a particular video service, the SM initiates the set of control commands to the on-demand services resources, to stream the requested service to an edge device with available QAM which belongs to the corresponding service group, and to the edge device to pack the stream into the specific MPTS corresponding to the particular QAM under defined service_id number. The SM also delivers the QAM frequency/transport_id and the service_id information to the requesting client set-top converter box (STB). The STB then tunes to the particular QAM frequency and decodes the requested service.
The SPTS is streamed to the particular edge device and QAM over internet and user datagram protocols (IP:UDP), where IP address stands for the selected edge address, and UDP port number encodes the selected QAM and service_id allocated to the particular service.
An SM in a closed on-demand architecture, controls the entire edge/QAM devices for all the service groups, so that no other external streaming service can be streamed through a particular QAM without causing possible collusion with other services allocated by the SM. The collusion could be in the sense of joining an MPTS with a service_id number which is equal to the one of a service allocated by the SM to the same MPTS, in that case the decoding of the services with same service_id number would be corrupted, or in the sense of joining an MPTS such the sum of data rate allocated to the MPTS by the SM with that of the external service, exceeds the QAM maximal rate, in that case either of the MPTS services might be corrupted.
Next generation on-demand architecture enables multiple on-demand systems to share the same set of edge devices and QAMs, providing different on-demand services to the same service groups. This task is either achieved through static partitioning of edge/QAMs between the different systems, or through incorporating a higher-level centralized resource manager (CRM) which controls the SMs of the different on-demand systems, through dynamically allocating QAMs, or even bandwidth within QAMs, between the different systems based on bandwidth, economic and or other allocation criteria.
In order to enable integration of multiple on-demand systems under the next generation on-demand architecture, both systems should expose external interfaces to higher level manager, share common system allocation status, share and interface to the common resource devices.